package com.tedu.api.thread;

/**
 * 软件--多个或者一个进程【理解：工厂】--线程【理解：工厂工人】
 * 线程创建方式三种：
 * 1.Thread类--创建线程，编写步骤：
 *                          ①类继承Thread线程类
 *                          ②run方法--线程功能
 *                          ③start方法--启动线程
 *   优点：使用方便
 *   缺点：拓展性比较弱，继承线程，无法继承其他类【java类单继承】
 *        子继承Thread 重写run方法，不利于线程复用
 * 2.Runnable接口--创建线程
 *                    ①子类实现Runnable
 *                    ②Runnable父类引用指向子类
 *                    ③创建Thread类，Runnable对象传入T和read
 *                    构造器中
 *                    ④启动线程【start方法】
 * 3.匿名内部类方式--Lambda表达式
 */
public class ThreadAPI {
    public static void main(String[] args) {
     //创建线程---多态 造型：父类引用指向子类的对象
     Thread t1=new MyThread();
     //启动线程不是直接调run【定义功能】
        t1.start();
        //练习：创建线程类：MyT和read1---启动线程
        //线语程功能：1000次语块
        //我对你呀,是一心一意的 查看2000次输出语句是否存在交叉
        Thread t2=new MyThread1();
        t2.start();
    }
}
class MyThread extends Thread{
    //线程功能--run方法--指定线程功能：执行1000次：语句块
    public void run() {
        for (int i=0;i<1000;i++){
            System.out.println("给我学的啊，一楞一楞的~");
        }
    }
}
class MyThread1 extends Thread{
    //线程功能--run方法--指定线程功能：执行1000次：语句块
    public void run() {
        for (int i=0;i<1000;i++){
            System.out.println("我对你呀,是一心一意的~");
        }
    }
}



















